/**
Carrega do banco de dados os setores cadastrados. O resultado � exibido din�micamente em um drop down box.
@setor_id - identificador da setor selecionada que cont�m os setores a serem carregados.
*/
function CarregarSetor( setorId )
{
         if (setorId == 0) // Verifica se o valor � v�lido.
               return false;
               
         var ajax = new sack();
         var url = "http://"+servidor+"/CarregarDados.php?informacao=setor&setorId="+setorId;
         ajax.requestFile = url;
         ajax.onCompletion = function() { 
        	 ProcessarXMLSetor( ajax.responseXML ); 
        	 };
         ajax.runAJAX();
}

/**
Transforma os resultados vindo do XML em informa��es din�micas na tela
@xml - XML com as informa��es sobre o material
*/
function ProcessarXMLSetor( xml )
{

         if( xml != null )
         {

              var resultadosXML = xml.getElementsByTagName("setor");

              // recupera as informa��es vindas do xml
              var setor = resultadosXML[0];
              var setorId = setor.getElementsByTagName("id")[0].firstChild.nodeValue;
              var setorNome = setor.getElementsByTagName("nome")[0].firstChild.nodeValue;
              var setorReponsavel = setor.getElementsByTagName("responsavel")[0].firstChild.nodeValue;

              var inputHiddenSetorId = document.getElementById("setorId");
              inputHiddenSetorId.value = setorId;

              var inputSetorNome = document.getElementById("setorNome");
              inputSetorNome.value = setorNome;

              var inputSetorResponsavel = document.getElementById("setorResponsavel");
              inputSetorResponsavel.value = setorReponsavel;

        }
}

/**
Carrega do banco de dados os setores cadastrados. O resultado � exibido din�micamente em um drop down box.
@campus_id - identificador da campus selecionada que cont�m os setores a serem carregados.
*/
function CarregarSetores( campusId )
{
         var selectCampus = document.getElementById("campi");

         if (campusId == 0) // Verifica se o valor � v�lido.
               return false;

         var ajax = new sack();
         var url = "http://"+servidor+"/CarregarDados.php?informacao=setores&campusId="+campusId;
         ajax.requestFile = url;
         if ( selectCampus.ownerDocument.URL == "http://"+servidor+"/ListarSetor.php")
         {
         ajax.onCompletion = function() { ProcessarXMLListarSetores( ajax.responseXML ); };
         }else{
               ajax.onCompletion = function() { ProcessarXMLSetores( ajax.responseXML ); };
              }

         ajax.runAJAX();
}

/**
Transforma os resultados vindo do XML em informa��es din�micas na tela
@xml - XML com as informa��es sobre o material
*/
function ProcessarXMLSetores( xml )
{
         var selectSetores = document.getElementById("listaSetores");
         var optionSetor = document.getElementById("setor");

         var i;
         // antes de exibir o resultado limpa o select que contem as informa��es da consulta anterior
         for( i = selectSetores.length -1; i >= 1; i-- )
         {
                  selectSetores.remove(i);
         }
         
         if( xml == null )
         {
             optionSetor.innerHTML = "Nenhum setor cadastrado!";

         }
         else
         {
         
              var resultadosXML = xml.getElementsByTagName("setor");
         
              if( resultadosXML.length > 0) // verifica se houveram resultados
	          {
        		                      for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
        		                      {
                                                  // recupera as informa��es vindas do xml
                                                  var setor = resultadosXML[i];
                                                  var setorId = setor.getElementsByTagName("id")[0].firstChild.nodeValue;
                                                  var setorNome = setor.getElementsByTagName("nome")[0].firstChild.nodeValue;

                                                  // adiciona um novo 'option' ao campo select com o setor encontrado
                                                  var novoSetor = document.createElement("option");
                                                  novoSetor.setAttribute("id", "opcoes");
                                                  novoSetor.value = setorId;
                                                  novoSetor.text  = setorNome;
                                                  selectSetores.options.add(novoSetor);
                                      }
                                      optionSetor.innerHTML = "Selecione o setor";
             }
        }
}

function ProcessarXMLListarSetores( xml )
{
         var tabelaListarSetor = document.getElementById("corpoSetor");

         for( var i = tabelaListarSetor.rows.length; i > 0 ; i-- ) // remover linhas da tabela
              tabelaListarSetor.deleteRow ( i-1 );

         if ( xml != null) // verifica se houveram resultados
          {
          var resultadosXML = xml.getElementsByTagName("setor");

    		                      for(var i=0; i < resultadosXML.length; i++) // percorre o resultado
    		                      {
                                              // recupera as informa��es vindas do xml
                                              var setor = resultadosXML[i];
                                              var setorNome = setor.getElementsByTagName("nome")[0].firstChild.nodeValue;
                                              var setorResponsavel = setor.getElementsByTagName("responsavel")[0].firstChild.nodeValue;

                                              var trTabelaListarSetor = document.createElement("tr");
                                              tabelaListarSetor.appendChild ( trTabelaListarSetor );

                                              var tdNomeTabelaListarSetor = document.createElement("td");
                                              tdNomeTabelaListarSetor.setAttribute("class", "textoCentral");
                                              tdNomeTabelaListarSetor.innerHTML = setorNome;
                                              trTabelaListarSetor.appendChild ( tdNomeTabelaListarSetor );

                                              var tdResponsavelTabelaListarSetor = document.createElement("td");
                                              tdResponsavelTabelaListarSetor.setAttribute("class", "textoCentral");
                                              tdResponsavelTabelaListarSetor.innerHTML = setorResponsavel;
                                              trTabelaListarSetor.appendChild ( tdResponsavelTabelaListarSetor );
                                  }
         }else{
              var trTabelaListarSetor = document.createElement("tr");
              tabelaListarSetor.appendChild ( trTabelaListarSetor );

              var tdNomeTabelaListarSetor = document.createElement("td");
              tdNomeTabelaListarSetor.setAttribute("colspan", "6");
              tdNomeTabelaListarSetor.setAttribute("class", "textoCentral");
              tdNomeTabelaListarSetor.innerHTML = "Não existe nenhum setor cadastrado para esse campus";
              trTabelaListarSetor.appendChild ( tdNomeTabelaListarSetor );
         }
}
